package br.net.atasacramental.notificacao.business;
import java.util.ArrayList;
import java.util.Date;
import br.net.atasacramental.notificacao.model.ConfigNotificacao;
import br.net.atasacramental.notificacao.model.ConfigNotificacaoV;
import br.net.atasacramental.notificacao.model.TipoNotificacao;
import br.net.atasacramental.notificacao.dao.ConfigNotificacaoDAO;
import java.util.List;
import under.wsl.service.Service;
/**
 * @author alexandre.araujo
 */
public class ConfigNotificacaoBLL{
    private ConfigNotificacaoDAO dao = null;
    public ConfigNotificacaoBLL() {
        this.dao = new ConfigNotificacaoDAO();
    }
    @Service(cache=true)
    public List<ConfigNotificacao> get(){
        return this.dao.get();
    }
    
    @Service(cache=true)
    public List<TipoNotificacao> getTiposNotificacao(){    	
    	List<TipoNotificacao> tpsnot = new ArrayList<TipoNotificacao>();
    	tpsnot.add(new TipoNotificacao(TipoNotificacao.SUCESSO,"SUCESSO"));
    	tpsnot.add(new TipoNotificacao(TipoNotificacao.ADVERTENCIA,"ADVERTENCIA"));
    	tpsnot.add(new TipoNotificacao(TipoNotificacao.ERRO,"ERRO"));
    	return tpsnot;       
    }
    
    
    @Service()
    public ConfigNotificacao getByIdConfigNotificacao(int idConfigNotificacao) {
        return this.dao.getByIdConfigNotificacao(idConfigNotificacao);
    }
    @Service()
    public List<ConfigNotificacao> getByDescricao(String descricao) {
        return this.dao.getByDescricao(descricao);
    }
    @Service()
    public List<ConfigNotificacao> getByMascara(String mascara) {
        return this.dao.getByMascara(mascara);
    }
    @Service()
    public List<ConfigNotificacaoV> getByIdGrupo(int idGrupo){
        return this.dao.getByIdGrupo(idGrupo);
    }

    @Service()
    public List<ConfigNotificacaoV> getValidasByIdGrupo(int idGrupo){    	
    	List<ConfigNotificacaoV> listatotal = this.getByIdGrupo(idGrupo);
    	/*
    	List<ConfigNotificacao> listavalida = new ArrayList<ConfigNotificacao>();    	
    	int tmL = listatotal.size();
    	for(int x =0;x<tmL;x++){
    		
    	} 
    	*/   	
        return listatotal;
    }
    @Service()
    public List<ConfigNotificacao> getByDtInicial(Date dtInicial) {
        return this.dao.getByDtInicial(dtInicial);
    }
    @Service()
    public List<ConfigNotificacao> getByPeriodoDtInicial(Date DtaI,Date DtaF){
        return this.dao.getByPeriodoDtInicial(DtaI,DtaF);
    }
    @Service()
    public List<ConfigNotificacao> getByDtFinal(Date dtFinal) {
        return this.dao.getByDtFinal(dtFinal);
    }
    @Service()
    public List<ConfigNotificacao> getByPeriodoDtFinal(Date DtaI,Date DtaF){
        return this.dao.getByPeriodoDtFinal(DtaI,DtaF);
    }
    @Service()
    public List<ConfigNotificacao> getByLimiteMax(int limiteMax) {
        return this.dao.getByLimiteMax(limiteMax);
    }
    @Service()
    public List<ConfigNotificacao> getByServicoList(String servicoList) {
        return this.dao.getByServicoList(servicoList);
    }
    @Service()
    public List<ConfigNotificacao> getByServicoCount(String servicoCount) {
        return this.dao.getByServicoCount(servicoCount);
    }
    @Service()
    public List<ConfigNotificacao> getByTpNotificacao(int tpNotificacao) {
        return this.dao.getByTpNotificacao(tpNotificacao);
    }
    @Service(remove={"ConfigNotificacaoBLL.get"})   
    public int insert(ConfigNotificacao cn){    
        if(this.dao.insert(cn)){            
            return cn.getIdConfigNotificacao();
        }
        return 0;
    }
    @Service(remove={"ConfigNotificacaoBLL.get"})
    public boolean update(ConfigNotificacao cn){
        return this.dao.update(cn);
    }
    @Service(remove={"ConfigNotificacaoBLL.get"})
    public boolean delete(ConfigNotificacao cn){
         return this.dao.delete(cn);
    }  
}
